package com.cheng.service;

import com.cheng.common.exception.CommonException;
import com.cheng.data.entity.CompanyInfoEntity;
import com.cheng.data.vo.CompanyInfoVO;
import com.cheng.data.vo.StatisticsVO;

import java.util.List;
import java.util.Map;

/**
 * @author: ChengJW
 * @date: 2021/11/29 21:11
 * @version: 1.0
 * @description: company_info 表的操作
 */
public interface CompanyInfoService {

    /**
    * @author: ChengJW
    * @params: [companyInfoEntity]
    * @return: void
    * @date: 2021/11/29
    * @description: 插入 company_info
    */
    void insertCompanyInfo(CompanyInfoEntity companyInfoEntity) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.CompanyInfoVO>
    * @date: 2021/11/29
    * @description: 查询企业信息
    */
    List<CompanyInfoVO> queryCompanyVOList(Map<String,Object> map) throws CommonException;


    /**
    * @author: ChengJW
    * @params: [companyInfoEntity]
    * @return: void
    * @date: 2021/11/30
    * @description: 删除企业信息
    */
    void deleteCompanyInfo(CompanyInfoEntity companyInfoEntity) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [companyInfoEntity]
    * @return: void
    * @date: 2021/12/1
    * @description: 修改企业信息
    */
    void updateCompanyInfo(CompanyInfoVO companyInfoVO) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [entity]
    * @return: void
    * @date: 2021/12/20
    * @description: 修改企业信息
    */
    void updateCompanyInfo(CompanyInfoEntity entity) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [companyInfoVO]
    * @return: java.util.List<com.cheng.data.entity.CompanyInfoEntity>
    * @date: 2021/12/20
    * @description: 查询企业
    */
    CompanyInfoEntity queryCompanyInfoList(CompanyInfoVO companyInfoVO) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.CompanyInfoVO>
    * @date: 2021/12/15
    * @description: 档案迁出列表查询
    */
    List<CompanyInfoVO> queryArchivesMoveOutList(Map<String,Object> map) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [vo]
    * @return: java.util.List<com.cheng.data.vo.CompanyInfoVO>
    * @date: 2021/12/17
    * @description: 根据条件查询企业信息
    */
    List<CompanyInfoEntity> queryCompanyInfoList(Map<String,Object> map) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.StatisticsVO>
    * @date: 2021/12/19
    * @description: 根据企业类型，统计企业信息数据
    */
    List<StatisticsVO> queryStatisticsVOlist(Map<String,Object> map) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.StatisticsVO>
    * @date: 2021/12/20
    * @description: 根据档案类型，统计档案信息数据
    */
    List<StatisticsVO> queryStatisticsArchVOList(Map<String,Object> map) throws CommonException;
}
